"""
实现一个简易版人生重开模拟器
"""
import random

# 欢迎界面
import sys
import time

print("+----------------------------------+")
print("|                                  |")
print("|        花有重开日, 人无再少年~      |")
print("|                                  |")
print("|        欢迎来到, 人生重开模拟器      |")
print("|                                  |")
print("+----------------------------------+")

# 设置初始属性, 颜值, 体质, 智力, 家境, 每一项都在 1 - 10 之间, 并且总和不能超过 20
totalCount = 20
home, iq, strong, face = 0, 0, 0, 0
print(f"请设置初始属性, 您的可用点数总数为 {totalCount}")
while True:
    totalCount = 20
    face = int(input(f"请设置颜值(1-10), 当前剩余点数({totalCount}):"))
    totalCount -= face
    if face < 1 or face > 10 or totalCount < 0:
        print("颜值设置有误!")
        continue
    strong = int(input(f"请设置体质(1-10), 当前剩余点数({totalCount}):"))
    totalCount -= strong
    if strong < 1 or strong > 10 or totalCount < 0:
        print("体质设置有误!")
        continue
    iq = int(input(f"请设置智力(1-10), 当前剩余点数({totalCount}):"))
    totalCount -= iq
    if iq < 1 or iq > 10 or totalCount < 0:
        print("智力设置有误!")
        continue
    home = int(input(f"请设置家境(1-10), 当前剩余点数({totalCount}):"))
    totalCount -= home
    if home < 1 or home > 10:
        print("家境设置有误!")
        continue
    print("初始属性设置完成！")
    print(f"颜值:{face}, 体质:{strong}, 智力:{iq}, 家境:{home}")
    break

# 生成角色性别
point = random.randint(1, 6)
if point % 2 == 1:
    gender = 'boy'
    print("你是一个男孩~")
else:
    gender = 'girl'
    print("你是一个女孩~")

# 设定角色出生点
point = random.randint(1, 3)
if home == 10:
    print("你出生在帝都, 父母是公务员")
    face += 1
    iq += 1
    home += 1
elif 7 <= home <= 9:
    if point == 1:
        print("你出生在大城市, 父母是公务员")
        face += 2
    elif point == 2:
        print("你出生在大城市, 父母是企业高管")
        home += 2
    else:
        print("你出生在大城市, 父母是大学教授")
        iq += 2
elif 4 <= home <= 6:
    if point == 1:
        print("你出生在三线城市, 父母是医生")
        strong += 1
    elif point == 2:
        print("你出生在三线城市, 父母是老师")
        iq += 1
    else:
        print("你出生在三线城市, 父母是个体户")
        home += 1
else:
    if point == 1:
        print("你出生在农村, 父母是辛苦劳作的农民")
        strong += 1
        face -= 2
    elif point == 2:
        print("你出生在穷乡僻壤, 父母是无业游民")
        home -= 1
    else:
        print("你出生在镇上, 父母感情不合")
        strong -= 1
print(f"颜值:{face}, 体质:{strong}, 智力:{iq}, 家境:{home}")

# 幼年阶段
for age in range(1, 11):
    info = f'你今年{age}岁. '
    point = random.randint(1, 3)
    # 夭折
    if strong <= 0:
        print('你夭折了, 游戏结束')
        sys.exit(0)
    # 性别触发事件
    if gender == 'girl' and home <= 3 and point == 1:
        info += '你的家里人重男轻女思想非常严重, 你被遗弃了!'
        print(info)
        print("你夭折了, 游戏结束!")
        sys.exit(0)
    # 体质触发事件
    elif strong <= 6 and point < 3:
        info += '你生了一场病, '
        if home >= 5:
            info += '你在父母的悉心照料下, 你康复了~'
            strong += 1
            home -= 1
        else:
            info += '你的父母没精力管你, 你的身体一天不如一天了'
            strong -= 1
    # 颜值触发事件
    elif face <= 4 and age >=7:
        info += '你长的太丑了, 别的小朋友不喜欢你.'
        if iq > 5:
            info += '你决定用学习填充自己!'
            iq += 1
        else:
            if gender == 'boy':
                info += '你和别的小孩儿经常打架!'
                strong += 1
                iq -= 1
            else:
                info += '你经常被别的小孩儿欺负!'
                face -= 1
    # 智商触发事件
    elif iq < 5:
        info += '你看起来傻傻的. '
        if home >= 8 and age >= 6:
            info += '你的父母把你送入了更好的学校学习!'
            iq += 1
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += '你的父母鼓励你多运动~'
                strong += 1
            else:
                info += '你的父母鼓励你多打扮自己~'
                face += 1
        else:
            info += '你的父母为此经常吵架'
            if point == 1:
                strong -= 1
            elif point == 2:
                iq -= 1
            else:
                pass
    # 健康成长
    else:
        info += '你健康成长. '
        if point == 1:
            strong += 1
            info += '你看起来更结实了'
        elif point == 2:
            face += 1
            info += '你看起来更好看了'
        else:
            pass
    # 打印一年的信息
    print(info)
    print(f"颜值:{face}, 体质:{strong}, 智力:{iq}, 家境:{home}")
    print("------------------------------------------------")
    time.sleep(1)
